iT邦幫忙

2026 iThome 鐵人賽

DAY 15
0
IT Operation

大學生的VirtualBox虛擬機與Ubuntu實戰30天系列 第 15

Day 15|實體機 VS Code 透過 Remote-SSH 直連 Ubuntu 開發環境

  • 分享至 

  • xImage
  •  

如果每次寫程式都要在 Ubuntu 虛擬機裡打開那個吃資源又卡卡的視窗,或是被迫在終端機裡進行編輯,體驗實在算不上太好。
最理想的狀態是什麼?

  • 介面留在本機:使用你 Windows 上最習慣、外掛最豐富的 VS Code。
  • 執行交給虛擬機:程式碼檔案、編譯工具、Python 或 Node.js 執行環境全部留在 Ubuntu 內部,不弄髒實體電腦。

今天我們就來串接前後端,利用微軟官方的Remote - SSH套件,讓我們在本機寫code,但在虛擬機上執行。


1.架構原理:Remote - SSH 怎麼運作?
傳統的做法是把檔案丟進「共用資料夾」,然後本機開 VS Code 改,但這樣終端機執行還是要切回虛擬機視窗,且常有檔案權限與結尾換行符號的衝突問題。

Remote - SSH採用Client-Server 架構:
https://ithelp.ithome.com.tw/upload/images/20260914/20183886llQPDdClt4.png


2.設定 VS Code Remote - SSH
步驟 1:在 Windows 下載並安裝 VS Code 外掛
1.在 Windows 實體電腦打開 VS Code。
2.點擊左側活動列的「延伸模組(Extensions)」圖示(快捷鍵 Ctrl + Shift + X)。
3.搜尋 Remote - SSH,點擊安裝
安裝完成後,左下角會出現一個小圖示 >< (開啟遠端視窗)。

步驟 2:設定 SSH 連線設定檔
1.按下快捷鍵 F1打開命令選擇區。
2.輸入並選取:Remote-SSH: Open SSH Configuration File...。
3.選擇目前使用者底下的設定檔路徑(通常是 C:\Users\你的使用者名稱.ssh\config)。
4.將檔案改成以下的程式碼並存檔(Ctrl + S)

Host vb-ubuntu
    HostName 127.0.0.1
    User ithome
    Port 2222
  • Host:連線別名,隨意取個好記的名字即可。
  • HostName:因為透過 VirtualBox 連接埠轉送,填入本機位址 127.0.0.1。
  • User:你的 Ubuntu 使用者名稱。
  • Port: 我們在 Day 13 設定的主機轉送連接埠 2222。

步驟 3:發起連線(要先開啟虛擬機)
1.點選 VS Code 左側新增的「遠端總管」 圖示。
2.在「SSH」清單中,你會看到剛才設定的 vb-ubuntu。
3.點擊名稱右側的「在新視窗中連線」圖示(箭頭小視窗)。
https://ithelp.ithome.com.tw/upload/images/20260914/20183886zDp31zc7xy.png
4.VS Code 會彈出新視窗,依照下方提示操作:

  • 選擇平台:選 Linux。
  • 輸入密碼:輸入 Ubuntu 使用者的登入密碼並按 Enter。
    https://ithelp.ithome.com.tw/upload/images/20260914/20183886Qy9f21cFoz.png

4.驗證連線
連線成功後,觀察新視窗的左下角,會顯示標籤 SSH: vb-ubuntu。
讓我們來打開終端機與專案資料夾實測:
(1)開啟 Linux 終端機
按下鍵盤快捷鍵 Ctrl + ~(或從上方選單點選「終端機」➔「新增終端機」)。
你會發現跳出來的是Ubuntu Bash:ithome@ithome-VirtualBox:~$!
(2)開啟虛擬機資料夾
點選左側「檔案總管」➔ 「開啟資料夾」,直接在上方輸入 /home/ithome,輸入密碼後即可將虛擬機的家目錄當成工作區載入。
(3)建立測試程式
在 VS Code 裡新增檔案 hello.py,輸入簡單的 Python 程式碼

import platform
print("Hello from VS Code Remote-SSH!")
print(f"Current OS: {platform.system()} {platform.release()}")

在下方終端機輸入 python3 hello.py,直接在虛擬機環境中即時執行。
https://ithelp.ithome.com.tw/upload/images/20260914/20183886gSy5nwg0JU.png


|明日目標:每次連線都要手動敲密碼實在太麻煩,明天教你設定 SSH 金鑰免密碼登入,並學會如何「以非 GUI 啟動」。|


上一篇
Day 14|虛擬機的影分身之術:完整再製 vs. 連結再製
下一篇
Day 16|設定 SSH 金鑰免密碼登入與 「以非 GUI 啟動」效能最佳化
系列文
大學生的VirtualBox虛擬機與Ubuntu實戰30天22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言